package com.sumainfor.pc.market.dao.tenant;

import java.util.List;
import java.util.Map;

/**
 * @Author Eddy·Chen
 * @Email 835033913@qq.com
 * @Create 2019-02-25 17:58
 */
public interface SignedProviderMapper {

    /**
     * 获取房源主编号和房源配置编号根据合同编号
     *
     * @param pactId
     * @return
     */
    Map<String, Object> getHidAndHConIdByPactId(String pactId);

    /**
     * 获得合同信息通过合同签署流程
     *
     * @param flowId
     * @return
     */
    Map<String, Object> getPactMainByFlowId(String flowId);

    /**
     * 更新合同主表
     *
     * @param params
     * @return
     */
    int updatePactMain(Map<String, Object> params);

    /**
     * 查询等待签约的数据列表
     *
     * @return
     */
    List<Map<String, Object>> selectWaitSignList(Map<String, Object> params);


    /**
     * 功能描述:
     * 根据合同编号获取合同状态
     * FlowStatus 电子合同签署状态  \n1.签署中\n2:签署完成\n3:失败\n4:拒签
     * IfFlowPay  电子合同是否支付     0无状态   1已完成未支付    2已完成已支付（该状态只有电子合同状态为2才有用）
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/20 10:32
     */
    Map<String, Object> getPactStatus(Map<String, Object> params);

    /**
     * 查询签约流程第一步数据;
     *
     * @return
     */
    Map<String, Object> getPactSignOneData(Map<String, Object> params);

    /**
     * 查询签约流程第二步数据;
     *
     * @param pactId
     * @return
     */
    List<Map<String, Object>> getPactSignTwoData(String pactId);

    /**
     * 查询签约流程第三步和第四步数据;
     *
     * @param pactId
     * @return
     */
    Map<String, Object> getPactSignThreeAndFour(String pactId);

    /**
     * 查询签约流程第六步数据;
     *
     * @param pactId
     * @return
     */
    String getPactSignSix(String pactId);

    /**
     * 功能描述:
     * 根据合同编号获取合同第八步资料
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/20 14:10
     */
    Map<String, Object> getPactSignEight(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据租客编号获取租客合同列表
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/23 11:53
     */
    List<Map<String, Object>> getPactList(Map<String, Object> params);

    /**
     * 功能描述:
     * 根据租客编号获取租客合同列表
     *
     * @Author zhlu
     * @Description //TODO
     * @Date 2019/3/23 11:53
     */
    Integer getPactListCount(Map<String, Object> params);
}
